package middleware.p2p;

/**
 * 	Interfaccia generica per una coda di TaskDescriptor.
 * 	Ogni classe che implementa questa interfaccia deve occuparsi della concorrenza.
 * 	@see TaskDescriptor
 */
public interface TQueue {
	/**	
	 * 	Metodo per inserire in coda un Task Descriptor
	 * 	@param ts	Task Descriptor da inserire nella coda.
	 * 	@return	1 se l'elemento è stato inserito, 0 altrimenti 
	 */
	public int enqueue(TaskDescriptor ts);
	/**
	 * 	Metodo per estrarre un Task Descriptor dalla coda.
	 * 	@return	L'elemento estratto.
	 */
	public TaskDescriptor dequeue();
}